S3 コンソールでファイル削除時に「予期しないエラーが発生しました。」と表示された時の対処方法
困っていた内容
S3 バケット内のファイルを S3 コンソールで削除しようとすると「予期しないエラーが発生しました。」と表示され、ファイルの削除に失敗します。削除できないファイルは、名前にシャープ(#
)などの記号文字が含まれています。
この状態でバケットを削除しようとしても、削除に失敗します。
どう対応すればいいの?
バケットごと削除が可能な場合は、以下のコマンドで削除できます。
$ aws s3 rb s3://<バケット名> --force
ファイル名にバックスペース(\b
)などの制御文字が含まれている場合、コンソールでは正しいファイル名が表示されません。
s3api コマンドで正しいファイル名を確認後、制御文字を $''
で囲うことでファイルの削除ができます。(Bash)
$ aws s3api list-objects-v2 --query 'Contents[*].Key' --bucket <バケット名> [ ... "index.html\btest", ... ] $ aws s3 rm s3://<バケット名>/index.html$'\b'test